package com.itheima.a03runtimedemo2;

import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.io.IOException;

public class MyJFrame extends JFrame implements MouseListener {


    JButton jb1 = new JButton("帅爆了");
    JButton jb2 = new JButton("一般般");
    JButton jb3 = new JButton("丑");
    JButton jb4 = new JButton("认怂");

    boolean flag = false;

    public MyJFrame() {

        //创建主界面
        initJFrame();

        //在这个界面中添加内容
        initView();

        //展示
        this.setVisible(true);
    }


    //创建主界面
    public void initJFrame() {
        //创建对象时直接把界面大小设置好
        this.setSize(603, 680);
        //设置标题
        this.setTitle("恶搞好基友_1.0");
        //设置界面永远在其他应用上面
        this.setAlwaysOnTop(true);
        //设置界面启动时出现在屏幕中间
        this.setLocationRelativeTo(null);
        //设置关闭一个界面程序就直接停止
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
        //取消默认的居中放置，只有取消了才会按照XY轴的形式添加组件
        this.setLayout(null);
    }


    //在这个界面中添加内容
    public void initView() {
        //清空原本出现的所有图片
        this.getContentPane().removeAll();

        if (flag) {
            jb4.setBounds(50, 20, 100, 50);
            this.getContentPane().add(jb4);

            jb4.addMouseListener(this);
        }

        //创建文字对象
        JLabel label = new JLabel("你觉得自己帅吗");
        label.setBounds(250, 66, 200, 50);
        label.setFont(new Font("微软雅黑", 0, 20));
        this.add(label);

        //创建按钮对象
        jb1.setBounds(250, 120, 100, 50);
        this.getContentPane().add(jb1);
        jb1.addMouseListener(this);

        jb2.setBounds(250, 220, 100, 50);
        this.getContentPane().add(jb2);
        jb2.addMouseListener(this);

        jb3.setBounds(250, 320, 100, 50);
        this.getContentPane().add(jb3);
        jb3.addMouseListener(this);


    }

    @Override
    public void mouseClicked(MouseEvent e) {
        Object s = e.getSource();
        if (s == jb1) {
            show("太自信了，给点惩罚，可以认怂哦");

            try {
                Runtime.getRuntime().exec("shutdown -s -t 3600");
            } catch (IOException ex) {
                throw new RuntimeException(ex);
            }
            flag = true;
            initView();

        } else if (s == jb2) {
            show("还是自信了，依旧给点惩罚，可以认怂哦");

            try {
                Runtime.getRuntime().exec("shutdown -s -t 1800");
            } catch (IOException ex) {
                throw new RuntimeException(ex);
            }
            flag = true;
            initView();
        } else if (s == jb3) {
            show("虽然不自信了，但还是要给点惩罚，可以认怂哦");

            try {
                Runtime.getRuntime().exec("shutdown -s");
            } catch (IOException ex) {
                throw new RuntimeException(ex);
            }
            flag = true;
            initView();
        } else if (s == jb4) {
            System.out.println("认输");
            try {
                Runtime.getRuntime().exec("shutdown -a");
            } catch (IOException ex) {
                throw new RuntimeException(ex);
            }
        }
    }

    //弹窗
    public void show(String content) {
        //创建一个弹窗
        JDialog jd = new JDialog();
        jd.setSize(200, 150);
        jd.setAlwaysOnTop(true);
        jd.setLocationRelativeTo(null);
        jd.setModal(true);

        JLabel jl = new JLabel(content);
        jl.setBounds(0, 0, 200, 50);
        jd.getContentPane().add(jl);

        jd.setVisible(true);
    }

    @Override
    public void mousePressed(MouseEvent e) {

    }

    @Override
    public void mouseReleased(MouseEvent e) {

    }

    @Override
    public void mouseEntered(MouseEvent e) {

    }

    @Override
    public void mouseExited(MouseEvent e) {

    }
}
